package com.cdvtc.forum_system.service;

import com.cdvtc.forum_system.model.User;

import java.util.List;

public interface UserService {
    /**
     * 用户登陆
     * @param user_account (学号/工号)
     * @param user_password
     * @return
     */
    User login(String user_account, String user_password);

    // 新增：根据用户ID获取用户信息（用于显示昵称和头像）
    User getUserById(int user_id);

    /**
     * 增加用户
     * @param user
     * @return boolean 是否创建成功
     */
    boolean addUser(User user);

    /**
     * 判断用户是否已经存在
     * @param key （只能是：account:账号 nickname:昵称  password：密码）
     * @param value
     * @return
     */
    boolean isUserExisted(String key, String value);

    /**
     * 获取所有用户
     * @return
     */
    List<User> getAllUsers();

    /**
     * 禁用用户
     * @param user_id
     * @param user_forbidden true:禁用， false:取消禁用
     */
    void forbiddenUser(int user_id, boolean user_forbidden);

    /**
     * 忘记密码
     * @param user_account
     * @param user_nickname
     */
    void forgetPassword(String user_account, String user_nickname);

    /**
     * 更新用户信息
     * @param user
     */
    void updateUser(User user);
}